package com.lance.answer.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 新疆一体化 视频和课程的信息；
 */
@NoArgsConstructor
@Data
public class XjCourseVideoInfo {


    @JsonProperty("code")
    private String code;
    @JsonProperty("content")
    // 具体的内容
    private List<ContentDTO> content;
    @JsonProperty("ts")
    private Long ts;

    @NoArgsConstructor
    @Data
    public static class ContentDTO {
        // 排序ID
        @JsonProperty("id")
        private Integer id;
        // 章节名称 如第一讲 职业生涯规划的基本概念和基本理论
        @JsonProperty("name")
        private String name;
        @JsonProperty("kind")
        private Integer kind;
        @JsonProperty("enable")
        private Integer enable;
        @JsonProperty("resources")
        // 章节下面的资源集合 如视频资源 "name":"1.职业生涯规的基本概念和基本理论（0720）.mp4",
        private List<ResourcesDTO> resources;
        @JsonProperty("examines")
        private List<ExaminesDTO> examines;

        @NoArgsConstructor
        @Data
        public static class ResourcesDTO {
            @JsonProperty("name")
            private String name;
            @JsonProperty("resourceUid")
            private String resourceUid;
            @JsonProperty("fileId")
            private String fileId;
            @JsonProperty("enable")
            private Integer enable;
            @JsonProperty("type")
            private Integer type;
            @JsonProperty("kind")
            private Integer kind;
            @JsonProperty("extendName")
            private String extendName;
            // 新增一个视频的长度时间
            @JsonProperty("traceTime")
            private int traceTime;
        }

        @NoArgsConstructor
        @Data
        public static class ExaminesDTO {
            @JsonProperty("id")
            private Integer id;
            @JsonProperty("name")
            // 随堂测试1
            private String name;
            @JsonProperty("paperUid")
            private String paperUid;
            @JsonProperty("ruleUid")
            private String ruleUid;
            @JsonProperty("enable")
            private Integer enable;
            @JsonProperty("kind")
            private Integer kind;
            @JsonProperty("unCompleteCount")
            private Integer unCompleteCount;
        }
    }
}
